package com.example.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.domain.dto.result.ApiResponse;
import com.example.domain.entity.Repair;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.domain.query.RepairQuery;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * <p>
 * 设备报修表 服务类
 * </p>
 *
 * @author baomidou
 * @since 2025-05-15
 */
public interface IRepairService extends IService<Repair> {

    /**
     * 分页查询设备报修信息
     * @param query 查询条件
     * @param pageNum 页码
     * @param pageSize 每页大小
     * @return 分页结果
     */
    IPage<Repair> pageQuery(RepairQuery query, int pageNum, int pageSize);
    
    /**
     * 添加设备报修信息
     * @param repair 报修信息
     * @return 是否成功
     */
    boolean addRepair(Repair repair);
    
    /**
     * 更新设备报修信息
     * @param repair 报修信息
     * @return 是否成功
     */
    boolean updateRepair(Repair repair);
    
    /**
     * 删除设备报修信息
     * @param repairId 报修ID
     * @return 是否成功
     */
    boolean deleteRepair(Integer repairId);

    // 报废审核，若audit为1，则设置对应的设备的status为"报废"
    ApiResponse scrapAudit(Integer repairId, // 报修编号
                                Integer audit, // 审核结果 1-通过， 2-不通过
                                String auditComment, // 审核意见
                                String repairPlan);  // 维修计划
}
